Skip to content

Conversation

@brad2014
Copy link

📝 Description

There is a semantic collision between linode "tags" and ansible "tags", and modern ansible dutifully warns users when this conflict occurs.

In order to eliminate the warning (and the collision) about using ansible reserved words as variables, we inject the instance tags as "linode_tags" instead of "tags".

This would be a breaking change, since references to linode "tags" would need to change to "linode_tags" in dynamic inventory files (and possibly others).

✔️ How to Test

Simply note that "ansible-inventory --list" no longer generates a warning on ansible-core>=2.20.1.

How do I run the relevant unit/integration tests?

📷 Preview

If applicable, include a screenshot or code snippet of this change. Otherwise, please remove this section.

…tags

In order to suppress the warning about using ansible reserved words
as variables, We inject the instance tags as "linode_tags" instead
of "tags".

This would be a breaking change, since references to linode "tags"
would need to change to "linode_tags".
@brad2014 brad2014 requested a review from a team as a code owner January 19, 2026 15:45
@brad2014 brad2014 requested review from psnoch-akamai and vshanthe and removed request for a team January 19, 2026 15:45
@vshanthe vshanthe requested review from a team, Copilot, ezilber-akamai and yec-akamai and removed request for a team January 20, 2026 05:58
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR resolves a naming collision between Linode tags and Ansible's reserved "tags" keyword by renaming the Linode tags variable to "linode_tags". This eliminates warnings from ansible-core>=2.20.1 about using reserved words as variables.

Changes:

  • Renamed tags to linode_tags in the inventory plugin to avoid collision with Ansible's reserved keyword
  • Updated documentation and examples to reflect the new variable name
  • Added code to automatically rename the tags field to linode_tags in host variables

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +83 to +84
webservers: "'web' in linode_tags"
mailservers: "'mail' in linode_tags"
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The updated group filter expressions assume linode_tags is a list, but they don't use the |list filter that was present in the original code. This could cause issues if linode_tags is not already a list type. Consider adding |list filter to maintain consistency with the original logic: 'web' in (linode_tags|list)

Suggested change
webservers: "'web' in linode_tags"
mailservers: "'mail' in linode_tags"
webservers: "'web' in (linode_tags|list)"
mailservers: "'mail' in (linode_tags|list)"

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant